<script type="text/javascript">
// 1、封装一个函数，获取字符串里出现次数最多的字符和次数
function getMax(str){
       	 var obj = {};
       	 var num = 0;
       	 var letter = '';
       	 for(var i = 0; i < str.length; i++){
       	 	if(obj[str[i]]){
       	 		obj[str[i]]++;
       	 		if(num < obj[str[i]]){
       	 			num = obj[str[i]];
       	 			letter = str[i]
       	 		}
       	 	}else{
       	 		obj[str[i]] = 1;
       	 	}
       	 }
       	 return letter + ',' + num+"次"
       }
console.log(getMax("12312311"));

// 2、封装函数，实现数组去重（至少3种）
var arr=[1,2,3,4,5,1,2,6,1]
function qc(arr){
//	var arr1=[];
	for (var i=0;i<arr.length;i++){
		for(var j=i+1;j<arr.length;j++){
			if (arr[i]==arr[j]) {
				//arr1.push(arr[i]);
				arr.splice(j,1);
				j--;
			}
		}
	}
	return arr;
}
console.log(qc(arr));

function unique1(arr){
  var hash=[];
  for (var i = 0; i < arr.length; i++) {
     if(hash.indexOf(arr[i])==-1){
      hash.push(arr[i]);
     }
  }
  return hash;
}
console.log(unique1(arr));

function unique2(arr){
  var hash=[];
  for (var i = 0; i < arr.length; i++) {
     if(arr.indexOf(arr[i])==i){
      hash.push(arr[i]);
     }
  }
  return hash;
}
console.log(unique2(arr));

// 3、封装函数，将多维数组变成一维数组，如：[1,[2,[3,4]]]变成[1,2,3]
 var tempArr = [1,[2,3],[4,5,[6,7]]];
 function unid(arr){
        var  result_str1 = arr.join(',').split(',');
        var  result_number = result_str1.map(item=>{
            return Number(item);
        });
        return result_number;
    }
    console.log(unid(tempArr));

// 4、封装函数，在没有重复元素的数组中获取两数和为某值的元素，如[1,2,3,4,5]中，获取和是7的元素，结果为[2,5],[3,4]
var arr=[9,8,7,6,5,4,3,2,1,1];
function he(arr,j){
	for (var i = 0; i < arr.length; i++) {
		for (var j = i+1; j < arr.length; j++) {
			// if (arr[i]!=arr[j]) {
				return console.log(arr[i]+arr[j]==j);
			// }else{
			// 	return console.log("数组有重复的值");
			// }
		}
	}
}
he(arr,9);
// 5、封装函数，判断两个数组是否包含同样的元素（不考虑顺序，即[1,2,3]和[2,3,1]包含了同样的元素，返回true）
var arr1=[1,2,3],
arr2=[3,2,1,0];
 function pd(arr1,arr2){
	   	for (var i = 0; i < arr1.length+1; i++) {
	   		for (var j = 0; j < arr2.length+1; j++) {
	   			if(arr2.indexOf(arr1[i])!=-1&&arr1.indexOf(arr2[j])!=-1){
	   				return console.log(true);
	   			}else{
	   				return console.log(false);
	   			}	
	   		}
	   	}
	   }	
pd(arr1,arr2)

// 6、封装函数，删除数组 arr 第一个元素(不要直接修改数组)，结果返回新的数组
var arr = [1,2,3,4];
function pop(arr){
	return console.log(arr.splice(1,arr.length));
}
pop(arr);
</script>